package com.xb.cloud.common.constant;

/**
 * 数据库字典常量
 *
 */
public class DbConstants {
	/**
	 * 是
	 */
	public static final byte TRUE = 1;

	/**
	 * 否
	 */
	public static final byte FALSE = 0;

	/**
	 * 已经删除
	 */
	public static final byte IS_DELETED_TRUE = 1;
	/**
	 * 已经删除
	 */
	public static final long IS_DELETED_TRUE_LONG = 1;
	/**
	 * 已经删除
	 */
	public static final int IS_DELETED_TRUE_INTEGER = 1;

	/**
	 * 未删除
	 */
	public static final byte IS_DELETED_FALSE = 0;

	/**
	 * 未删除
	 */
	public static final long IS_DELETED_FALSE_LONG = 0;
	/**
	 * 未删除
	 */
	public static final int IS_DELETED_FALSE_INTEGER = 0;

	/**
	 * 0层
	 */
	public static final int LAYER_NO_0 = 0;
	/**
	 * PARENT_ID =0 ，当前节点为直接挂在虚拟根节点上
	 */
	public static final int PARENT_ID_0 = 0;
	/**
	 * PARENT_ID =0 ，对应的层级前缀
	 */
	public static final String PARENT_ID_0_LAYERS = "0/";
	/**
	 * 分页相关
	 * 
	 */
	// 默认分页大小
	public static final int DEFAULT_PAGE_SIZE = 1;

	// 最大分页大小
	public static final int MAX_PAGE_SIZE = 100;

	/**
	 * 下划线,中划线
	 */
	public static final String UNDERLINE = "_";
	public static final String MIDDLELINE = "-";

	/**
	 * 层级后缀
	 */
	public static final String LAYERS_END = "/";

	/**
	 * 短信发送类型
	 */
	public static final byte SMS_TYPE_VERIFYCODE = 0;// 短信类型，验证码
	public static final byte SMS_TYPE_NOTIFYMERCHANT = 1;// 短信类型，短信通知商家已支付

	/**
	 * 产品类型
	 */
	public static final byte PRODUCT_TYPE_SINGLE = 0; // 普通产品(单品)
	public static final byte PRODUCT_TYPE_SERIAS_VIRTUAL = 1; // 1：系列品 （虚品）
	public static final byte PRODUCT_TYPE_SERIAS_SUB = 2; // 2：系列品子品
	public static final byte PRODUCT_TYPE_COMBINATION = 3; // 3：组合品
	public static final String KEY_SEGMENTATION = "_";

	/**
	 * sku是否可用售卖
	 */
	public static final byte PRODUCT_SKU_CAN_SALE = 1;
	public static final byte PRODUCT_SKU_CAN_NOT_SALE = 0;
	public static final byte PRODUCT_SKU_ENABLED = 1;
	public static final byte PRODUCT_SKU_NOT_ENABLED = 0;

	// 默认仓库
	public static final Long DEFAULT_WAREHOUSE_ID = 1L;

	/**
	 * 属性 数据类型0：数值 1：文本 2：颜色
	 */
	public static final byte ATTR_TYPE_NUM = 0; // 0：数值
	public static final byte ATTR_TYPE_TEXT = 1; // 1：文本
	public static final byte ATTR_TYPE_COLOR = 2; // 2：颜色

	/**
	 * 后台账号类型 账户类型 ： 0,平台账户，10-公司账户，20-顶级商家账户，30-末级商家账户，40-店铺账户
	 */
	public static final byte ACCOUNT_TYPE_PLAT = 0;
	public static final byte ACCOUNT_TYPE_COMPANY = 10;
	public static final byte ACCOUNT_TYPE_TOP_MERCHANT = 20;
	public static final byte ACCOUNT_TYPE_LEAF_MERCHANT = 30;
	public static final byte ACCOUNT_TYPE_SHOP = 40;

	// ******************** 用户库 ********************
	public static final byte SHOPPING_CART_TYPE_ENDUSER = 0;// 购物车类型，终端用户购物车

	/**
	 * 订单状态：10-未支付20-已支付25-转DO30-已发货 40-已收货 50-已完成 60-送货失败70-已取消
	 */
	public static final int SO_STATUS_AWAITE_PAY = 10; // 未支付
	public static final int SO_STATUS_ALREADY_PAY = 20; // 已支付
	public static final int SO_STATUS_ALREADY_COMPLETED = 50;// 已完成
	public static final int SO_STATUS_ALREADY_CANCEL = 70;// 已取消

	/**
	 * 订单逻辑类型
	 */
	public static final byte LEAF_ORDER = 1;// 叶子订单
	public static final byte PARENT_ORDER = 0;// 父订单

	/**
	 * 订单业务类型
	 */
	public static final byte ORDER_BUS_TYPE_USER = 0; // 用户订单
	public static final byte ORDER_BUS_TYPE_MERCH = 1; // 商家代客下单

	/**
	 * 订单支付类型
	 */
	public static final byte ORDER_PAYMENT_TYPE_ONLINE = 1; // 用户订单
	public static final byte ORDER_PAYMENT_TYPE_OFFLINE = 2; // 商家代客下单

	/**
	 * 店铺状态0.经营中 1.暂停营业 2.停止营业
	 */
	public static final byte SHOP_RUNNING = 0;
	public static final byte SHOP_PAUSE = 1;
	public static final byte SHOP_STOP = 2;
	
	/**
	 * 平台控制的店铺状态0.营业中 1.暂停营业
	 */
	public static final byte PLANTFORM_SHOP_RUNNING = 0;
	public static final byte PLANTFORM_SHOP_PAUSE = 1;
	
	/**
	 * 判断数据库值是否为true
	 * 
	 * @Title isTrue
	 * @param value
	 * @return
	 */
	public static boolean isTrue(byte value) {
		if (value == DbConstants.TRUE) {
			return true;
		}
		return false;
	}
}
